#pragma once


#include "teflon/graphics/renderable/mesh.h"
#include "teflon/gapi/shader.h"
#include "teflon/scene/environment.h"

namespace teflon
{
#define MAX_VERTICES 20000

    class MeshRenderer1
    {
    private:
        std::shared_ptr<ShaderProgram> shader;
        GLuint vao = 0;
        GLuint vbo_position = 0;
        GLuint vbo_normal = 0;
        GLuint vbo_uv = 0;
        GLuint ibo = 0;

    public:
        MeshRenderer1();
        ~MeshRenderer1();

        void Begin(const Environment3D& env);
        void Draw(const Mesh1& mesh);
        void End();
    };
}
